package cn.tedu.encoding;
/**
 * @Author 金帮嘉诚
 * @Date 2021-06-18 周五 14:24
 */
/*本类用于测试 编码转换流*/

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

/**
 * 知识点：
 * OutputStreamWriter() 把传入的字节流转成字符流（即 构造函数的参数是字节流的OutputStream，但能使用Write方法）
 * 把Unicode转成其他编码格式输出
 * 把Unicode转成其他编码格式输出
 */
/*常用编码是utf-8和gbk，
如果出现乱码的情况，一定是编写和查看的编码不一致*/
public class TestEncode {
    public static void main(String[] args) {
        OutputStreamWriter out = null;

        try {//不会创建对象，先查API，看对应类的构造函数的参数是什么
            //不指定编码格式就是用编辑软件的默认编码格式
            out = new OutputStreamWriter(new FileOutputStream
                    ("d:\\ready\\1.txt"), "gbk");
//            out = new OutputStreamWriter(new FileOutputStream
//                    ("d:\\ready\\1.txt"), "ascii");
//            out = new OutputStreamWriter(new FileOutputStream
//                    ("d:\\ready\\1.txt"), "iso8859-1");
//            out = new OutputStreamWriter(new FileOutputStream
//                    ("d:\\ready\\1.txt"), "uft-8");
            out.write("今天星期五");
            out.flush();
            System.out.println("执行成功！");
        } catch (Exception e) {
            System.out.println("执行失败！");
            e.printStackTrace();
        } finally {
            try {
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}
